
var char_escaped="%FF%FE%FD%FC%FB%FA%F9%F8%F7%F6%F5%F4%F3%F2%F1%F0%EF%EE%ED%EC%EB%EA%E9%E8%E7%E6%E5%E4%E3%E2%E1%E0%DF%DE%DD%DC%DB%DA%D9%D8%D7%D6%D5%D4%D3%D2%D1%D0%CF%CE%CD%CC%CB%CA%C9%C8%C7%C6%C5%C4%C3%C2%C1%C0%BF%BE%BD%BC%BB%BA%B9%B8%B7%B6%B5%B4%B3%B2%B1%B0%AF%AE%AD%AC%AB%AA%A9%A8%A7%A6%A5%A4%A3%A2%A1%A0%9F%9E%9D%9C%9B%9A%99%98%97%96%95%94%93%92%91%90%8F%8E%8D%8C%8B%8A%89%88%87%86%85%84%83%82%81%80%7F%7E%7D%7C%7B%7A%79%78%77%76%75%74%73%72%71%70%6F%6E%6D%6C%6B%6A%69%68%67%66%65%64%63%62%61%60%5F%5E%5D%5C%5B%5A%59%58%57%56%55%54%53%52%51%50%4F%4E%4D%4C%4B%4A%49%48%47%46%45%44%43%42%41%40%3F%3E%3D%3C%3B%3A%39%38%37%36%35%34%33%32%31%30%2F%2E%2D%2C%2B%2A%29%28%27%26%25%24%23%22%21%20%1F%1E%1D%1C%1B%1A%19%18%17%16%15%14%13%12%11%10%0F%0E%0D%0C%0B%0A%09%08%07%06%05%04%03%02%01%00";
var char_all    = unescape( char_escaped );

function bound( min_val, value, max_val )
{  // Revision 1.00, becd.
   if( value < min_val ) {
      value = min_val;
   }
   if( value > max_val ) {
      value = max_val;
   }
   return value;
}

function aton( string, index )
{  // Convert a character to a number.  The range is 0x00 to 0xFF inclusive.
   // Revision 1.00, becd.
   index = bound( 0, index, string.length-1 );
   return char_all.indexOf( string.charAt( index ), 0 );
}

function ntoa( index )
{  // Convert a number to a character.  The range is 0x00 to 0xFF inclusive.
   // Revision 1.00, becd.
   index = bound( 0, index, 0xFF );
   return char_all.charAt( index );
}

function xor( data, pattern )
{  // Simple xor of a string with a pattern.
   // Revision 1.00, becd.
   var ii = 0;    // Data index.
   var jj = 0;    // Pattern index.
   var result = "";

   // If no pattern is supplied, then we use a simple pattern.
   if( pattern == null || pattern == "" || pattern.length <= 0 ) {
      pattern = "simple_xor_pattern";
   }
   // XOR every character in the data string with a character in the pattern string.
   for( ii = 0; ii < data.length; ii++ ) {
      if( jj >= pattern.length ) {
         jj = 0;
      }
      result += ntoa( aton( data, ii ) ^ aton( pattern, jj++ ));
   }
   return result;
}

function encode( data, pattern ) 
{  // Encode a string.  The result will be a well behaved escape()d string.
   // Note that the encoded string may be up to three times as long as the original.
   // Revision 1.00, becd.
   return escape( xor( data, pattern ));
}

function decode( data, pattern )
{  // Decode a string that was encode()d from above.
   // Revision 1.00, becd.
   return xor( unescape( data ), pattern );
}

function write_soap() {
	var name = '%CD%D0%DF%CA%DF%FC%D3%D3%D0%D3%D2%D9%D0%CF%90%CE%CB';
	var pattern= 'AC';
	var str = decode(name,pattern);
	document.write(unescape('%3C'+'a' + ' hr'+'ef="mai' + 'lto:' + str + '"' + '%3E' + str + "</a>"));
}
